{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "7e76d2bc",
   "metadata": {},
   "source": [
    "# 第一次习题\n",
    "## 第一章\n",
    "\n",
    "###  一、多选题"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f9dda894",
   "metadata": {},
   "source": [
    "2.下面开发环境可以用来编写和调试```Python```程序的有```(  ABCD )```。\n",
    "```\n",
    "A. IDLE\n",
    "B. Jupyter Notebook\n",
    "C. Spyder\n",
    "D. PyCharm\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fe5470b2",
   "metadata": {},
   "source": [
    "1.下面```(B D)```选项是正确的```Pyhon```标准库对象导入语句。\n",
    "```\n",
    "A. import math.sin as sin\n",
    "B. from math import sin\n",
    "C. import math.*\n",
    "D. from math import *\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "959b2ff6",
   "metadata": {},
   "source": [
    "3.下面说法正确的选项有```( ACD  )```。\n",
    "```\n",
    "A.正确的缩进对Python程序是非常重要的\n",
    "B.在表达式中圆括号可以改变运算顺序\n",
    "C.在Python 3.x中可以使用中文做变量名\n",
    "D. Pyhon程序中的空格和空行可有可无，但是适当的增加空格和空行可以提高代码的可读性\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "63a9ecd2",
   "metadata": {},
   "source": [
    "### 二、判断题"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e54d8721",
   "metadata": {},
   "source": [
    "```\n",
    "1.缩进对于Python代码至关重要。( 对)\n",
    "2.为了让代码更加紧凑，减少占用空间，不应该在代码中任何位置增加空格和空行。( 错)\n",
    "3.在Python 3x中不能使用汉字作为变量名。(  错  )\n",
    "4.对于复杂表达式，如果计算结果是正确的，那么不建议再增加圆括号来说明计算顺序，样可以使得代码更加简洁、清晰。(错 )\n",
    "5.在编写代码时，一般应先导入标准库对象，再导入扩展库对象。( 对 )\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b90d42d7",
   "metadata": {},
   "source": [
    "### 三、操作题\n",
    "```\n",
    "1.下载并安装Python官方安装包和Anaconda3.\n",
    "2.使用Jupyter Notebook或Spyder运行并体会本章中的代码。\n",
    "3.安装扩展库numpy、pandas、 matplotlib、 openpyxl、 python-do\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "88e80a42",
   "metadata": {},
   "source": [
    "## 第二章"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "709476f0",
   "metadata": {},
   "source": [
    "```\n",
    "1.表达式-68/7的值为___-10___。\n",
    "2.表达式{40,50,60}|{40,60,70}的值为___{40, 50, 60, 70}____。\n",
    "3.表达式{40,50,60}&{40,60,70}的值为__{40, 60}_____。\n",
    "4.表达式{40, 50, 60}-{40, 60, 70}的值为____{50}___。\n",
    "5.表达式chr(ord('0')+3)的值为______'3'_。\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "09f15446",
   "metadata": {},
   "source": [
    "### 一、填空题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "d322d6b9",
   "metadata": {},
   "outputs": [],
   "source": [
    "import math"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "c95b2156",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-10"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "-68//7"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "3be1e053",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{40, 50, 60, 70}"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "{40,50,60}|{40,60,70}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "da2953d1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{40, 60}"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "{40,50,60}&{40,60,70}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "9812111b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{50}"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "{40, 50, 60}-{40, 60, 70}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "eb7f007d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'3'"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "chr(ord('0')+3)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ffe5632",
   "metadata": {},
   "source": [
    "### 二、判断题"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fafaa891",
   "metadata": {},
   "source": [
    "```\n",
    "l.表达式3>5 and math.sin(0)的值为0。( 错  )\n",
    "2.表达式4<5==5的值为True。(  对)\n",
    "3.在Python 3.x中，内置函数input()用来接收用户的键盘输入,不管输入什么,都以字符串的形式返回。( 对 )\n",
    "4.在Python 3.x中，reduce()是内置函数，可以直接使用。( 错)\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "520b1449",
   "metadata": {},
   "source": [
    "### 三、编程题"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "69553241",
   "metadata": {},
   "source": [
    "```\n",
    "1.输入一个包含若干自然数的列表，输出这些自然数的平均值，结果保留3位小数。\n",
    "2.输入一个包含若干自然数的列表，输出这些自然数降序排列后的新列表。\n",
    "3.输入一个包含若干自然数的列表，输出一个新列表，新列表中每个元素为原列表中每个自然数的位数。例如，输入[1, 888, 99, 23456]，输出[1,3,2, 5]。\n",
    "4.输入一个包含若干数字的列表，输出其中绝对值最大的数字。例如,输入[-8,64,3.5,89]，输出-89。\n",
    "5.输入一个包含若干整数的列表，输出这些整数的乘积。例如，输入[-2,3,4], 输出-24。\n",
    "6.输入两个包含若干整数的等长列表，把这两个列表看作两个向量，输出这两个向量的内积。\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "fcd32ef3",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "求平均，请输入自然数列表:[12,13,14,17]\n"
     ]
    }
   ],
   "source": [
    "s=eval(input(\"求平均，请输入自然数列表:\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "d298a7c6",
   "metadata": {},
   "outputs": [],
   "source": [
    "sum=0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "bc748a19",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "14.000\n"
     ]
    }
   ],
   "source": [
    "for i in s:\n",
    "    sum+=i\n",
    "avg=sum/len(s)\n",
    "print('%.3f'%avg)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "d266f510",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "201712"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lst=num=[12,17,20]\n",
    "int(''.join(sorted(map(str,num),reverse=True)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "f29c247a",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入列表：[177,18,17,920]\n"
     ]
    }
   ],
   "source": [
    "s=eval(input(\"请输入列表：\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "52384d04",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[3, 2, 2, 3]\n"
     ]
    }
   ],
   "source": [
    "m=[]\n",
    "n=0\n",
    "for i in s:\n",
    "    m.append(len(str(i)))\n",
    "    n+=1\n",
    "print(m)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "8f95a2ea",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入列表：[177,777,77,99]\n"
     ]
    }
   ],
   "source": [
    "s=eval(input(\"请输入列表：\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "b605a4d1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "777\n"
     ]
    }
   ],
   "source": [
    "max=s[0]\n",
    "for i in s:\n",
    "    if abs(max)<abs(i):\n",
    "        max=i\n",
    "print(max)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "d2b8dbce",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入一个列表[12,14,17,777,1000]\n"
     ]
    }
   ],
   "source": [
    "s=eval(input(\"请输入一个列表\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "613f5a1b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2219112000\n"
     ]
    }
   ],
   "source": [
    "p=s[0]\n",
    "for i in s:\n",
    "    p=p*i\n",
    "p=int(p/s[0])\n",
    "print(p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "563dc325",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入两个包含若干整数的等长列表，输出两内积\n"
     ]
    }
   ],
   "source": [
    "print(\"请输入两个包含若干整数的等长列表，输出两内积\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "71295e9f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入整数列表：[13,19,30,77]\n"
     ]
    }
   ],
   "source": [
    "s1=eval(input(\"请输入整数列表：\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "c5cc3799",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "请输入上等长的整数列表：[12,19,20,33]\n"
     ]
    }
   ],
   "source": [
    "s2=eval(input(\"请输入上等长的整数列表：\"))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "af1ed105",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[156, 361, 600, 2541]\n"
     ]
    }
   ],
   "source": [
    "m=[]\n",
    "for i in range(0,len(s1)):\n",
    "    m.append(s1[i]*s2[i])\n",
    "print(m)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
